package com.ruicar.afs.cloud.workflow.api.dto.afsprocess.request;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
public class TaskAssignRequest {

    @JSONField(name = "bizDataId")
    @JsonProperty("bizDataId")
    private String bizDataId;


    @JSONField(name = "afsFlowKey")
    @JsonProperty("afsFlowKey")
    private String afsFlowKey;


    @JSONField(name = "serviceId")
    @JsonProperty("serviceId")
    private String serviceId;


    @JSONField(name = "Id")
    @JsonProperty("Id")
    private String id;

    @JSONField(name = "FlowId")
    @JsonProperty("FlowId")
    private String flowId;

    @JSONField(name = "FinsId")
    @JsonProperty("FinsId")
    private String flowInstanceId;

    @JSONField(name = "TaskId")
    @JsonProperty("TaskId")
    private String taskNodeId;

    @JSONField(name = "TinsId")
    @JsonProperty("TinsId")
    private String taskInstanceId;

    @JSONField(name = "UserId")
    @JsonProperty("UserId")
    private String userName;

    @JSONField(name = "UserName")
    @JsonProperty("UserName")
    private String userRealName;

    @JSONField(name = "Ocmd")
    @JsonProperty("Ocmd")
    private String oCmd;

    @JSONField(name = "OcmdDis")
    @JsonProperty("OcmdDis")
    private String oCmdDesc;

    @JSONField(name = "CDate",format = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("CDate")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    @JSONField(name = "Status")
    @JsonProperty("Status")
    private int status;

    @JSONField(name = "TaskName")
    @JsonProperty("TaskName")
    private String taskName;

    @JSONField(name = "ProcessDate",format = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("ProcessDate")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date processDate;

}
